package com.cool.service.sysmanage;

import com.cool.bo.sysmanage.common.PageQueryBo;
import com.cool.bo.sysmanage.role.AllocResource;
import com.cool.po.sysmanagepo.MenuPo;
import com.cool.po.sysmanagepo.PermissionPo;
import com.cool.po.sysmanagepo.RolePo;

import java.util.List;

/**
 * 角色表(DdRole)表服务接口
 *
 * @author Jungle
 * @since 2020-07-27 17:28:33
 */
public interface DdRoleService {


    /**
     * 得到所有用户角色
     *
     * @return {@link List<RolePo> }
     * @author Jiangmanman
     * @date 2020/07/27
     */
    List<RolePo> getAllUserRole();

    /**
     * 选择列表通过id
     *
     * @param staffId 员工id
     * @return {@link List<RolePo> }
     * @author Jiangmanman
     * @date 2020/07/27
     */
    List<RolePo> selectListById(Integer staffId);

    /**
     * 更新用户角色
     *
     * @param adminId 管理员id
     * @param roleIds 角色id
     * @return {@link Integer }
     * @author Jiangmanman
     * @date 2020/07/27
     */
    Integer updateUserRole(String adminId, String roleIds);

    PageQueryBo pagingQuery(RolePo rolePo);

    Integer insert(RolePo rolePo);

    Integer updateStatus(Integer id, Integer state);

    Integer updateRole(Integer id, RolePo rolePo);

    Integer deleteById(String ids);

    List<MenuPo> selectMenuList(Integer id);

    Integer updateAllocMenu(String roleId, String menuIds);

    List<PermissionPo> getUserPermissionByRoleId(Integer id);

    Integer allocResource(AllocResource allocResource);
}